﻿using System;

namespace LambdaManAi
{
    public class LowLevelFunctions
    {
        public static object GetParam(object[] args, int paramIndex)
        {
            throw new NotImplementedException();
        }

        public static object GetEnv(object[] args, int level, int paramIndex)
        {
            throw new NotImplementedException();
        }

        public static object GetLocal(Locals locals, int localKey)
        {
            throw new NotImplementedException();
        }

        public static object Select(bool condition, object trueValue, object falseValue)
        {
            throw new NotImplementedException();
        }

        public static object Pair(object item1, object item2)
        {
            throw new NotImplementedException();
        }

        public static object Tuple(params object[] items)
        {
            throw new NotImplementedException();
        }

        public static object List(params object[] items)
        {
            throw new NotImplementedException();
        }

        public static object Closure(UserFunction function)
        {
            throw new NotImplementedException();
        }

        public static object Closure(object expression)
        {
            throw new NotImplementedException();
        }

        public static object GetHead(object list)
        {
            throw new NotImplementedException();
        }

        public static object GetTail(object list)
        {
            throw new NotImplementedException();
        }

        public static object GetItem(object list, int itemIndex)
        {
            throw new NotImplementedException();
        }

        public static object GetLastTupleItem(object tuple, int itemIndex)
        {
            throw new NotImplementedException();
        }

        public static object Max2(params object[] args)
        {
            throw new NotImplementedException();
        }

        public static object Min2(params object[] args)
        {
            throw new NotImplementedException();
        }

        public static object FoldList(object list, object closure, object accumulator)
        {
            throw new NotImplementedException();
        }

        public static object MapList(object list, object closure)
        {
            throw new NotImplementedException();
        }

        public static bool IsInt(object obj)
        {
            throw new NotImplementedException();
        }

        public static bool IsEmptyList(object obj)
        {
            throw new NotImplementedException();
        }
    }
}
